using System;
using System.ComponentModel;
using System.Web.UI;
namespace JQueryControlToolkit.Controls
{
	public class DraggableExtender : JQueryExtender
	{
		[JQueryElement("addClasses")]
		public bool AddClasses
		{
			get
			{
				return base.GetPropertyValue<bool>("AddClasses", true);
			}
			set
			{
				base.SetPropertyValue<bool>("AddClasses", value);
			}
		}
		[JQueryElement(null, "appendTo", true, "parent")]
		public string AppendTo
		{
			get
			{
				return base.GetPropertyValue<string>("AppendTo", "parent");
			}
			set
			{
				base.SetPropertyValue<string>("AppendTo", value);
			}
		}
		[JQueryElement("axis")]
		public AxisRestriction Axis
		{
			get
			{
				return base.GetPropertyValue<AxisRestriction>("Axis", AxisRestriction.None);
			}
			set
			{
				base.SetPropertyValue<AxisRestriction>("Axis", value);
			}
		}
		[JQueryElement("cancel", true)]
		public string Cancel
		{
			get
			{
				return base.GetPropertyValue<string>("Cancel", "input, option");
			}
			set
			{
				base.SetPropertyValue<string>("Cancel", value);
			}
		}
		[JQueryElement("connectToSortable", true)]
		public string ConnectToSortable
		{
			get
			{
				return base.GetPropertyValue<string>("ConnectToSortable", null);
			}
			set
			{
				base.SetPropertyValue<string>("ConnectToSortable", value);
			}
		}
		[JQueryElement("containment", true)]
		public string ContainmentSelector
		{
			get
			{
				return base.GetPropertyValue<string>("ContainmentSelector", null);
			}
			set
			{
				base.SetPropertyValue<string>("ContainmentSelector", value);
			}
		}
		[JQueryElement("containment", false)]
		public string Containment
		{
			get
			{
				return base.GetPropertyValue<string>("Containment", null);
			}
			set
			{
				base.SetPropertyValue<string>("Containment", value);
			}
		}
		[JQueryElement("cursor")]
		public string Cursor
		{
			get
			{
				return base.GetPropertyValue<string>("Cursor", null);
			}
			set
			{
				base.SetPropertyValue<string>("Cursor", value);
			}
		}
		[JQueryElement("cursorAt")]
		public string CursorAt
		{
			get
			{
				return base.GetPropertyValue<string>("CursorAt", null);
			}
			set
			{
				base.SetPropertyValue<string>("CursorAt", value);
			}
		}
		[JQueryElement("delay")]
		public int Delay
		{
			get
			{
				return base.GetPropertyValue<int>("Delay", 0);
			}
			set
			{
				base.SetPropertyValue<int>("Delay", value);
			}
		}
		[JQueryElement("distance")]
		public int Distance
		{
			get
			{
				return base.GetPropertyValue<int>("Distance", 1);
			}
			set
			{
				base.SetPropertyValue<int>("Distance", value);
			}
		}
		[JQueryElement(null, "grid", false, "^(\\[[0-9]+,\\ ?[0-9]+\\])|false$")]
		public string Grid
		{
			get
			{
				return base.GetPropertyValue<string>("Grid", null);
			}
			set
			{
				base.SetPropertyValue<string>("Grid", value);
			}
		}
		[JQueryElement(null, "handle", true, "false")]
		public string Handle
		{
			get
			{
				return base.GetPropertyValue<string>("Handle", null);
			}
			set
			{
				base.SetPropertyValue<string>("Handle", value);
			}
		}
		[JQueryElement("helper")]
		public string Helper
		{
			get
			{
				return base.GetPropertyValue<string>("Helper", null);
			}
			set
			{
				base.SetPropertyValue<string>("Helper", value);
			}
		}
		[JQueryElement(null, "iframeFix", true, "true|false")]
		public string IFrameFix
		{
			get
			{
				return base.GetPropertyValue<string>("IFrameFix", null);
			}
			set
			{
				base.SetPropertyValue<string>("IFrameFix", value);
			}
		}
		[JQueryElement("opacity")]
		public float Opacity
		{
			get
			{
				return base.GetPropertyValue<float>("Opacity", -1f);
			}
			set
			{
				base.SetPropertyValue<float>("Opacity", value);
			}
		}
		[JQueryElement("refreshPositions")]
		public bool RefreshPositions
		{
			get
			{
				return base.GetPropertyValue<bool>("RefreshPositions", false);
			}
			set
			{
				base.SetPropertyValue<bool>("RefreshPositions", value);
			}
		}
		[JQueryElement(null, "revert", false, SerializeAs.String, "^true|false|valid|invalid$")]
		public string Revert
		{
			get
			{
				return base.GetPropertyValue<string>("Revert", null);
			}
			set
			{
				base.SetPropertyValue<string>("Revert", value);
			}
		}
		[JQueryElement("revertDuration")]
		public int RevertDuration
		{
			get
			{
				return base.GetPropertyValue<int>("RevertDuration", 500);
			}
			set
			{
				base.SetPropertyValue<int>("RevertDuration", value);
			}
		}
		[JQueryElement("scope", SerializeAs = SerializeAs.String)]
		public string Scope
		{
			get
			{
				return base.GetPropertyValue<string>("Scope", null);
			}
			set
			{
				base.SetPropertyValue<string>("Scope", value);
			}
		}
		[JQueryElement("scroll", false)]
		public bool Scroll
		{
			get
			{
				return base.GetPropertyValue<bool>("Scroll", true);
			}
			set
			{
				base.SetPropertyValue<bool>("Scroll", value);
			}
		}
		[JQueryElement("scrollSensitivity")]
		public int ScrollSensitivity
		{
			get
			{
				return base.GetPropertyValue<int>("ScrollSensitivity", 20);
			}
			set
			{
				base.SetPropertyValue<int>("ScrollSensitivity", value);
			}
		}
		[JQueryElement("scrollSpeed")]
		public int ScrollSpeed
		{
			get
			{
				return base.GetPropertyValue<int>("ScrollSpeed", 20);
			}
			set
			{
				base.SetPropertyValue<int>("ScrollSpeed", value);
			}
		}
		[JQueryElement(null, "snap", true, "true|false")]
		public string Snap
		{
			get
			{
				return base.GetPropertyValue<string>("Snap", null);
			}
			set
			{
				base.SetPropertyValue<string>("Snap", value);
			}
		}
		[JQueryElement(null, "snapMode", false, "^inner|outer|both$")]
		public string SnapMode
		{
			get
			{
				return base.GetPropertyValue<string>("SnapMode", null);
			}
			set
			{
				base.SetPropertyValue<string>("SnapMode", value);
			}
		}
		[JQueryElement("snapTolerance")]
		public int SnapTolerance
		{
			get
			{
				return base.GetPropertyValue<int>("SnapTolerance", 20);
			}
			set
			{
				base.SetPropertyValue<int>("SnapTolerance", value);
			}
		}
		[JQueryElement(null, "stack", false, "")]
		public string Stack
		{
			get
			{
				return base.GetPropertyValue<string>("Stack", null);
			}
			set
			{
				base.SetPropertyValue<string>("Stack", value);
			}
		}
		[JQueryElement("zIndex")]
		public int ZIndex
		{
			get
			{
				return base.GetPropertyValue<int>("ZIndex", -1);
			}
			set
			{
				base.SetPropertyValue<int>("ZIndex", value);
			}
		}
		[JQueryEvent("start"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string Start
		{
			get
			{
				return base.GetPropertyValue<string>("Start", null);
			}
			set
			{
				base.SetPropertyValue<string>("Start", value);
			}
		}
		[JQueryEvent("drag"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string Drag
		{
			get
			{
				return base.GetPropertyValue<string>("Drag", null);
			}
			set
			{
				base.SetPropertyValue<string>("Drag", value);
			}
		}
		[JQueryEvent("stop"), DefaultValue(null), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)]
		public string Stop
		{
			get
			{
				return base.GetPropertyValue<string>("Stop", null);
			}
			set
			{
				base.SetPropertyValue<string>("Stop", value);
			}
		}
		protected override string jQueryFunction
		{
			get
			{
				return "draggable";
			}
		}
	}
}
